# Java 环境配置
# 这个文件包含所有 Java 相关的配置

# JDK 路径配置
export JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
# 如需使用多个 JDK 版本，可以这样配置：
# export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
# export JAVA_11_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home"
# export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home"
# export JAVA_HOME=$JAVA_11_HOME  # 设置默认版本

# 添加 Java 到 PATH
export PATH="$JAVA_HOME/bin:$PATH"

# Maven 配置
export M2_HOME="/usr/local/apache-maven-3.8.6"
export PATH="$M2_HOME/bin:$PATH"
# Maven 本地库
export MAVEN_OPTS="-Xms256m -Xmx512m"

# Gradle 配置
export GRADLE_HOME="/usr/local/gradle-7.4.2"
export PATH="$GRADLE_HOME/bin:$PATH"

# 切换 JDK 版本的函数
function use_java() {
  version=$1
  case $version in
    8)
      export JAVA_HOME=$JAVA_8_HOME
      ;;
    11)
      export JAVA_HOME=$JAVA_11_HOME
      ;;
    17)
      export JAVA_HOME=$JAVA_17_HOME
      ;;
    *)
      echo "支持的版本: 8, 11, 17"
      return 1
      ;;
  esac
  export PATH="$JAVA_HOME/bin:$PATH"
  echo "已切换至 Java $version: $(java -version 2>&1 | head -n 1)"
}

# Java 常用别名
alias mvnc="mvn clean"
alias mvni="mvn install"
alias mvnci="mvn clean install"
alias mvncp="mvn clean package"
alias mvndt="mvn dependency:tree"

# 检查 Java 环境函数
function check_java_env() {
  echo "Java 环境信息："
  echo "Java 版本: $(java -version 2>&1 | head -n 1)"
  echo "Java 路径: $JAVA_HOME"
  echo "Maven 版本: $(mvn -v | head -n 1)"
  echo "Gradle 版本: $(gradle -v | head -n 3 | tail -n 1)"
}

# 别名
alias j-env="check_java_env" 